home *** CD-ROM | disk | FTP | other *** search
/ Network CD 2 / Network CD - Volume 2.iso / programs / internet / tcp / server / amitcp_fspd.lha / fspd / ChangeLog next >
Encoding:
Text File  |  1994-05-20  |  26.3 KB  |  566 lines

  1. Version 1.0 -- Dec 91.  Original source created.
  2.  
  3. Version 2.0 -- Dec 91.  Added man pages.  Server bug fix.  In 1.0, files
  4.            in a directory that is protected from deletion can still
  5.            be written over. In 2.0, it is prohibited as well. 
  6.  
  7. Version 2.1 --    Jan 1, 92.
  8.  
  9.         1) The maximum length of a name in pre-2.1 server is
  10.            both limited by the 1k-byte udp packet size and, in
  11.            some cases more severely, by the OS it is running in.
  12.            On some systems, the OS imposes a limite of 14 chars.
  13.            For those systems, the server can now be made to hash
  14.            long names into short ones.  The effect is transparent
  15.            to the clients except when two long names gets hashed
  16.            into the same value.  In that case, they will refer
  17.            to the same file during downloading, and they will
  18.            displace each others during uploading.
  19.  
  20.         2) Since directories, unlike files, have undisputable
  21.            ownership, removal of a directory owned by a client
  22.            should depends only on the ownership of the directory
  23.            itself, and not on that of its parent directory.  In
  24.            pre-2.1 server, the client must have delete permission
  25.            to the parent directory before it is allowed to delete
  26.            the subdirectory.  In 2.1, the permission is not needed.
  27.  
  28. Version 2.2 --    Feb 15, 92.
  29.  
  30.         1) The fput and fgetcmd utilities will now accept a list of
  31.            files from its standward input.  See their man pages for
  32.            this expanded usage.  This is useful if you don't want
  33.            file names to show on 'ps' output.
  34.  
  35.         2) The retransmit timer for client code has been changed
  36.            to use an adaptive algorithm.  In pre-2.2 versions of
  37.            FSP, clients will retransmit if it has not received a
  38.            response from the server after a delay of 3 seconds.
  39.            In version-2.2, two separate delays are used.  The
  40.            "busy" delay is used when waiting for a reply for the
  41.            first try and the second try.  Any time a second try
  42.            is necessary, the delay is increased by 50%.  Every
  43.            first try brings the delay 12.5% closer to the initial
  44.            delay setting (3 seconds by default, settable by the
  45.            FSP_DELAY variable).  For the third try and beyond,
  46.            the "idle" delay is used.  For each try, the delay is
  47.            doubled.
  48.  
  49.         3) Makes available FSP request code space 0x80 - 0xff for
  50.            future user extensions.  Each such extension will begin
  51.            with a code byte in that range, and followed by a control
  52.            block, which is likely to be different from the existing
  53.            one.  The basic operations of FSP will not require the
  54.            use of such extensions.
  55.  
  56.         Note:  2.2 does not involve changes to the server itself.
  57.                The server is been checked out and added to by a
  58.                few people on the net.  I will wait until the
  59.                modifications stabilize before I consolidate them.
  60.  
  61. Version 2.3 -- Mar 9, 92
  62.  
  63.         1) The bsd_src/glob.c file has a bug in blkfree function
  64.            in that it tries to free something that is actually
  65.            on the stack of the glob function. The last call to
  66.            free has been commented out to fix the bug. 
  67.  
  68.         2) The fspd has a bug whoes only visible manifestation
  69.            is the that protection can't be changed.  The fix has
  70.            required a moderate amount of code change in fspd.
  71.  
  72.         3) .FSP_NO_DEL and .FSP_NO_ADD mechanism has been replaced
  73.            by .FSP_OK_DEL and .FSP_OK_ADD mechanism.  Thus by
  74.            default, a directory is no delete and no add.
  75.  
  76.         4) fprocmd is modified to relax option checking, allowing
  77.            arbitrary option characters be passed to the fsp server.
  78.  
  79.         5) A fls bug is fixed so that a "fls /" in a directory other
  80.            than the root directory will not cause an error.
  81.  
  82.         6) A -DDIRENT switch is added in Makefile to help support
  83.            those machines that does not have /usr/include/dirent.h.
  84.  
  85. Version 2.3a -- March 20, 1992
  86.  
  87.         1) In a few places, non-critical errors of the form:
  88.                if(errno = EINTR) ....
  89.            was made.  It obviously should have been == instead.
  90.            The problem is fixed.
  91.  
  92.         2) In the previous versions there is a potential problem
  93.            such that if the first reply packet is dropped or is
  94.            messed up, making a retransmit necessary, fspd will
  95.            make the client utility wait for a 1 minute timeout.
  96.            A potential loop hole for this happening has been
  97.            closed by modifying server_lib.c where the packet key
  98.            is checked. 
  99.  
  100. Version 2.4 -- March 27, 1992
  101.  
  102.         1) fgrab/fgrabcmd client utility is added.  It is like
  103.            fget except it also deletes the named files in such a
  104.            way that if there are multiple fgrabs for the same
  105.            file, only one will succeed. One bug/mis-feature of
  106.            fgrab is that when fgrab is terminated abnormally, the
  107.            file is not restored. This command is useful for things
  108.            like sharing bone files for modified versions of nethack. 
  109.  
  110.         2) FSP now allows multiple client programs to run at the
  111.            same time if one of the three multiplexing mechanisms
  112.            are chosen during compile time.  It is likely that at
  113.            least one of them will work for your system.  The
  114.            multiplexing is done at the client side, and does not
  115.            allow the client machine to issue request messages at
  116.            a higher rate compared to the previous versions.  The
  117.            FSP_LOCALPORT variable is no longer needed.  However,
  118.            if used, it will force serialization of client programs,
  119.            which might be desireable if none of the multiplexing
  120.            mechanisms are suitable for your machine.  In order to
  121.            accommodate this change, the server code has been
  122.            changed to store temporary upload files with a different
  123.            name from the previous version.  The names now have to
  124.            identify sender's port as well as sender's internet id.
  125.            Change is necessary to keep it under 14-character limit
  126.            of some OS.
  127.  
  128.         3) Progress report mechanism enabled by FSP_TRACE variable
  129.            now try to update the kbyte display more promptly.
  130.  
  131.         4) fcat/fcatcmd will now turn off FSP_TRACE during its
  132.            file transfer if its stdout is a tty.
  133.  
  134. Version 2.5 -- April 8, 1992
  135.  
  136.         1) A bug introduced during the last release --- fspd will
  137.            not timeout and exit when running under inetd mode.
  138.            This bug is now fixed.  It was introduced because it
  139.            is more convienent at one time for it not to exit when
  140.            it is still being debugged.  The patch to stop it from
  141.            exiting was not removed before release time. 
  142.  
  143.         2) A very rarely seen bug in some OS is circumvented. UDP
  144.            packet's headers contain a checksum field.  If the
  145.            checksum option is disabled, the OS will set the
  146.            checksum field to 0 before sending, and will not check
  147.            the checksum field when message is received. If the
  148.            option is enabled, the OS will stuff the checksum into
  149.            the checksum field.  When a packet is received, the
  150.            checksum field is checked.  If the checksum field is 0,
  151.            then the OS assume that the sender does not have option
  152.            enabled, and therefore the checking is skipped.
  153.  
  154.            Problem arises when a packet's computed checksum is
  155.            zero.  Some OS will stuff 0xffff into the checksum
  156.            field before sending such a message to distinguish it
  157.            from the case for which checksum is disabled.  Other
  158.            OS couldn't recognize 0xffff as an indication that the
  159.            actual checksum could be either 0 or 0xffff, and
  160.            subsequently reject the message. The client can thus
  161.            get stuck forever in retransmitting a request that
  162.            happens to have 0 for the computed checksum, but
  163.            0xffff for the checksum field.
  164.  
  165.            To get around the problem, the sequence number field
  166.            of the request message (which has meaning only to the
  167.            client software), is partitioned such that 2 of the
  168.            bits reflect the retry sequence, and the remaining 14
  169.            bits reflect the request sequence.  This will ensure
  170.            that if one request got ignored because it happens to
  171.            have a checksum of 0, the next retry will result in
  172.            a packet that does not have a checksum of 0.  The only
  173.            file affected here is client_lib.c.
  174.  
  175.         3) In response to those who have severely limited UDP
  176.            packet sizes, the environment variable FSP_BUF_SIZE
  177.            is supplied to set the data size of file and directory
  178.            information transfers. The default is 1024.  You cannot
  179.            set it to be bigger than 1024, but you can set it to
  180.            be smaller if you find that your system cannot pass
  181.            UDP packets that includes 1024 bytes of data.  This
  182.            requires changes both in the server and the client
  183.            code.  The first parameter field of get-file and
  184.            get-directory requests contains the path of the file
  185.            or directory.  The second parameter field was unused,
  186.            but it is now used to hold the number of bytes to read.
  187.            This change is backward compatible in the sense that
  188.            if the second field is empty (old client code), the
  189.            new server code will default to 1024.  Changes to the
  190.            client code is confined to client_util.c.
  191.  
  192. Version 2.6 -- July 6, 1992
  193.  
  194.         1) client_lock.c is fixed so that perror is always
  195.            followed by exit.  Previously, if System-V shared
  196.            memory mechanism is chosen for locking control in
  197.            the Makefile, but the mechansim has not in fact
  198.            been configured into the UNIX kernel, the client
  199.            utilities would die of a segmentation fault error.
  200.            The error message will now be more reasonable.
  201.  
  202.         2) mechanism is added so FSP server can put directory
  203.            cache files in a special directory other than the one
  204.            for which the files are intended.  Previously a
  205.            .FSP_CONTENT file is created in each directory the
  206.            fspd process controls.  Through variables in the
  207.            Makefile, provider of fsp service can now elect to put
  208.            cache files together in one single directory, and put
  209.            a cap on the total number of such files that can exist
  210.            simultaneously.  The fsp server will create a cache
  211.            file in the cache directory when it couldn't find one
  212.            already exist in the directory being listed by the
  213.            client.  Changed are minor and invovles the routines
  214.            server_get_dir, server_get_dir_2 [new] in "server_file.c";
  215.            the variable declaration section of "server_main.c", and
  216.            Makefile.
  217.  
  218.         3) a line in util_cd is changed, and a line in get_dir_blk
  219.            is added in the file "client_util.c" to prevent fls from
  220.            sending some spurious requests to the fsp server.
  221.  
  222.         4) Makefile is changed to allow the option of combining all
  223.            client utilities into one actual binary files.  This is
  224.            necessary for space saving reasons on some versions of
  225.            UNIX.  The various small main C files for the utilities
  226.            had to be changed as well to accomodate this change.
  227.  
  228.         5) fver now will take an optional argument.  If none is
  229.            supplied, it prints the version string of the server.
  230.            If one is supplied, it prints the versioin string of
  231.            the client FSP software.
  232.  
  233. Version 2.6.1 -- Aug 31, 1992
  234.  
  235.         1) Small changes to Makefile.  In 2.6, "make" will fail if
  236.            you needed to define LIB, or if your command shell is not 
  237.            /bin/sh, and you want to merge client utilities.  Version
  238.            2.6.1 fixed them.  Only Makefile is changed, everything
  239.            else is identical to 2.6.
  240.  
  241. Version 2.6.2 -- Sep 2, 1992
  242.  
  243.         1) bsd_src/cmp.c was changed so that flscmd can sort its
  244.            output by date correctly on all systems.  This particular
  245.            version of the BSD source made assumptions about what
  246.            the comparison functions should return for the qsort
  247.            routine, but those assumptions were not true for all
  248.            systems.
  249.  
  250. Version 2.6.3 -- Sep 19, 1992
  251.  
  252.         1) client_lock.c is modified to fix a compilation phase
  253.            bug that occur when NOLOCKING option is used in the
  254.            Makefile.  This affects only the client code.
  255.  
  256.         2) server_file.c is modified so that upload uses the
  257.            directory cache directory instead of the top directory.
  258.            This is needed for those sites that want the top
  259.            directory be write protected.  (good for ftp sites).
  260.  
  261. Version 2.6.4 -- Dec 12, 1992.
  262.  
  263.         1) Make main makefile pass CC and CFLAGS definitions to
  264.            bsd_src's Makefile
  265.  
  266.         2) Add util_cd2 to client_util and make bsd_src/ls.c use
  267.            it.  This remove some of the spurious GET_DIR requests.
  268.            Also, there is a bug in client_util's util_cd routine
  269.            in that it always requests 1K worth of directory info
  270.            no matter what FSP_BUF_SIZE setting is used.  Causeing
  271.            fsp clients to hang under situations where FSP_BUF_SIZE
  272.            is limited by the network (slip, usually). 
  273.  
  274.         3) function server_interrupt in server_lib.c was defined
  275.            to be of type void to avoid complaint from some compilers.
  276.            There are several other minor fixes in functin variable
  277.            declarations in several files for the same reason.
  278.  
  279.           3.5) The retry delay function for the client is tweaked
  280.            somewhat.
  281.  
  282. Wed Dec 16 12:31:29 PST 1992
  283.  
  284.         4) A change in the server_up_load function in the file
  285.            server_file.c is made to fix a subtle bug.  When a
  286.            file is uploaded, the offset to begin write was not
  287.            used to seek to end of file.  Instead, the file is
  288.            only appended to.  This cause error if two retry
  289.            messages in an upload was divided by a server going
  290.            down.  The new server is fixed so that seek based
  291.            on the pos parameter is done.  This eliminates the
  292.            possibility of such an error.
  293.  
  294. Version 2.6.5jt -- Dec 17, 1992
  295.  
  296.         1) Added support for .FSP_OK_READ and .FSP_OK_MKDIR.
  297.                    .FSP_OK_READ allows reading the contents of files.
  298.                    .FSP_OK_MKDIR allows creation of subdirectories.
  299.                    .FSP_OK_ADD no longer means anything for creation of
  300.                    subdirectories, only for creation of files.
  301.  
  302. Version 2.6.5jt.1 -- Dec 18, 1992
  303.                 1) Changed the direction of intent on the .FSP_OK_READ
  304.                    file and renamed it to .FSP_PRIVATE.  Now prescense
  305.                    of file means directory is private.  Done so that 
  306.                    spurious files didn't need to be created everywhere
  307.                    just to grant read access.  In concordance with this,
  308.                    the procmd is no {+-}p instead of {+-}r.
  309.  
  310. Version 2.6.5jt.2 -- Dec 29, 1992
  311.                 1) Fixed a core dump in any of the programs that used
  312.                    file globbing.  If you passed a ~ to the command
  313.                    in this state, you would seg violate.  Fixed by 
  314.                    removing the parsing of ~ in the glob.c file.
  315.                    It now errors with an 'illegal character in path'.
  316.  
  317. Version 2.6.5jt.3 -- Jan  27, 1993
  318.         1) Added in the Enhanced Trace (cps) from pi@cs.sun.ac.za
  319.         2) Added protection from clobbering files on fget/fgrab
  320.                    courtesy of A.E.J.Fellows (A.E.J.Fellows@bham.ac.uk)
  321.                 3) Various updates and corrections to the man pages.
  322.         4) Merged in VMS changes.  .com files and VMS makefiles
  323.            as well as VMS changes files all exist in ./vms.
  324.                    VMS specific sourcefiles are in ./vms_src and VMS
  325.            specific header files are in ./vms_h.  VMS changes
  326.            done by S.A.Pechler@bdk.tue.nl.  All changes made
  327.            by Sven are in ./vms/VMS.ChangeLog.  Some of the
  328.            changes he made there are incorporated into the
  329.            unix version as well.
  330.  
  331. Version 2.6.5jt.4 -- Feb 2, 1993
  332.                 1) Made the initial check for logfile opening be done
  333.                    with mode "a" instead of mode "w+" so that it didn't
  334.                    erase the file every time through.
  335.                 2) Reordered the includes in common_def.h so that they
  336.                    preserved the original 2.6.5 ordering which some machine
  337.                    types seemed dependant on.
  338.         3) Added in Sven's repatches to make VMS compilation work.
  339.  
  340. Version 2.6.5jt.5 -- Feb 4, 1993
  341.         1) Added extended version information and loggin information
  342.            to the reply from the fver command.
  343.         2) Changed the message type on fver replies to CC_VERSION
  344.            instead of CC_ERR.  This just makes more sense.
  345.         3) One more special case where SCO unix seems to require
  346.            a certain order in it's include files.. sheesh.
  347.         4) Changed duplicate variable clobbertype in both fgetcmd.c
  348.            and fgrabcmd.c to be unique.  Moved the #defines of
  349.            the clobbertypes into the appropriate .h file
  350.         5) Added a few more small fixes from Sven.
  351.         6) Added support for restricted mode.  When server is run
  352.            in restricted mode ONLY users from sites appearing in
  353.            the .ROGUE_HOSTS file can connect.  This flag basically
  354.            reverses the meaning of the .ROGUE_HOSTS file, but by
  355.            doing so provides a cheap way of doing priveledged connect.
  356.  
  357. Version 2.6.5jt.6 -- Feb 8, 1993
  358.         1) Added a contrib directory for user submitted programs such
  359.            as my admin scripts.  Currently thats the only thing here
  360.            but I'm sure other things will wind up here in time.
  361.         2) Removed the redirecting of stdin/stdout/stderr to /dev/null
  362.            under normal operation because it was causing some true
  363.            error conditions (like it telling you that homedir didn't
  364.            begin with a / to get dumped into the bit bucket.)
  365.         3) Fixed a logic error in the priveledged site code. sheesh.
  366.            NOTE: To a disallowed client, it will appear as if the 
  367.            server doesn't exist.  This is as far as I can tell the
  368.            behavior intended by Wen.
  369.         4) Modified makefile to not use any file names longer than
  370.            14 characters (POSIX compliant).  This only affected the
  371.            merge programs.
  372.  
  373. Version 2.6.5jt.7 -- Feb 9, 1993
  374.         1) Fixed some of the POSIX compliant naming that I missed the
  375.            first time around.
  376.         2) Added Ruben Olsons admin tools and fsp-shell to the contrib
  377.            distribution.
  378.         3) Fixed a small bug in switch parsing in fspd. (if you did
  379.            fspd -l -r it would think that -r was the filename to log
  380.            into.  this is wrong).
  381.         4) Added a small patch suggested by Ruben Olson.  Now, if the
  382.            Remote FSP server doesn't respond (and you're not in the
  383.            middle of a file transfer) the client will just exit instead
  384.            of hanging indefinately.  It takes about 3-5 seconds for
  385.            the client to exit.  Basically, if pos is zero (as it is
  386.            unless you are transferring), then when the client would
  387.            first print an 'I', it will instead now exit. (enable this
  388.            by compiling with -DCLIENT_TIMEOUT)
  389.  
  390. Version 2.6.6 -- Mar 10, 1993
  391.         1) Added some patches supplied by Sven Pechlar to fix a few
  392.            last niggling bugs with the VMS port.
  393.         2) File sizes are now logged as part of GET_FILE (courtesy
  394.            of Sven).  This might make the Sumalog script useless until
  395.            fixed.
  396.         3) Added an append mode to fgetcmd and fgrabcmd.  Under this
  397.            mode, fget/fgrab will try to append data to the end of a
  398.            short file.  This patch was submitted by robert@diku.dk
  399.            (Robert Martin-Legene)
  400.         4) Extended the timeout time on CLIENT_TIMEOUT as requested.
  401.         5) Added code supplied by Sven Pechlar to do password protect
  402.            on private directories, and to do internal file cacheing.
  403.            The password protect code looks extremely broken to me.
  404.            But I added it anyway as if no passwds are set, it
  405.            shouldn't break anything.
  406.                 6) Signal handling code (for BSD only) to handle cleaning up
  407.                    .fsptemp.XXXX files on abort (courtesy of AEJFellows)
  408.                 7) Move setuid call before log file is opened. (AEJFellows)
  409.         8) Added throughput control courtesy of Laurent Montaron
  410.            (montaron@eurecom.fr).  See INFO file for details.
  411.  
  412. Version 2.6.6.1 -- Mar 11, 1993
  413.         1) Reduced the client timeout from 5 to 4.
  414.         2) Made client timeout code default in the makefile.
  415.         3) Made printing of 'E' on retrys conditional on
  416.            trace being true.
  417.         4) Shortened temp file names so that they will always
  418.            fit under 14 character limit.
  419.         5) Yet more small fixes from Sven to make 2.6.6 compile on
  420.                    VMS cleanly. (thanks Sven)
  421.         6) .README file support thanks to Pihl
  422.                    (phil.richards@prg.oxford.ac.uk)
  423.         7) More advanced Hostname security thanks to Phil as well.
  424.            (Look in the INFO file for details)
  425.         8) Rewrote logging to use varargs based on ideas from Phil.
  426.         9) If no password is supplied, and the .OWN.XXXXXXXX file is
  427.            empty, then you will still be able to read the directory.
  428.            This reinstitutes backward compatability in the server with
  429.            older clients that cannot send passwords.
  430.            10) Changes to support a local working directory for all remote
  431.            operations courtesy of Michael Meskes
  432.            <meskes@ulysses.informatik.rwth-aachen.de>
  433.  
  434. Version 2.6.6.2 -- Apr 8, 1993
  435.         1) Added patches to make the client_timeout value be settable
  436.            via an environment value.  Default timeout value is 4.  The
  437.            change has no effect unless you compile the clients to time
  438.            out if there is no response. (patches by Michael Meskes)
  439.         2) Added fducmd and fsethostcmd written by Michael Meskes.
  440.            fducmd is a standalone (or merge) version of the du cmd
  441.            that phil put into his fspclient.  Fsethostcmd supports
  442.            a fairly simple resource file for setting up hosts and 
  443.            local directories and all environment variables based on
  444.            information in a file.
  445.         3) Fixed a bug in fgrab that caused you to not be able to
  446.            grab a file even though you could get it and then rm it.
  447.         4) Fixed the IPHOST code.  It was returning automatic vars
  448.            up the stack, and assuming that assigning a structure
  449.            to a structure performed copy.  This is not always the
  450.            case, and when compiled under ultrix cc this assumption
  451.            broke.  The fix was to malloc the structures down and
  452.            pass pointers up the stack initially, and then store
  453.            those pointers.  The code has been tested now as well,
  454.            and verified to work on at least my system.
  455.         5) The server will now log an 'Unknown command.' error
  456.            if it gets a command request that it doesn't know how
  457.            to handle, and will return this string to the requesting
  458.            client. (requested by Robert Martin-Legene)
  459.         6) Fixed a bug in build_dir() reported by Phil Richards.
  460.            A file could get a garbaged 'long_name'.
  461.         7) Added better logging code supplied by Phil Richards.
  462.         8) Added reverse hostname lookup and read only mods supplied
  463.            by Phil Richards.
  464.         9) Removed a bug that caused logging to be turned on even when
  465.            the -l option wasn't specified.
  466.            10) Changed the name of the fsethostcmd to fhostcmd so that
  467.            POSIX machine nameing conventions were followed.
  468.            11) Renamed the .fsprc file  used by fhostcmd to .fsp_prof
  469.  
  470. Version 2.6.6.3 -- Apr 12, 1993
  471.         1) Added bitfields containing the version and protection
  472.            information into the getpro and fver commands.  Newer
  473.            clients should rely on that information and thus be able
  474.            to present it in any display format desired.
  475.         2) Logging code will now stat the logfile and if it's no
  476.            longer there, it will recreate it after closing the old
  477.            fd.  This saves the system expense of opening and closing
  478.            a logfile each time we log something, and still allows the
  479.            deletion of logfiles during a run.
  480.         3) Modified clients to present information from the bitfields
  481.            for ver and pro, and modified the server to give only
  482.            minimal textual information for ver and pro.
  483.         4) Added a sanity check to FSP_DELAY variable to never let
  484.            it go below some specified minimum value.  This minimum
  485.            value is set in common_def.h and defaults to 500 usec.
  486.            500 usec should remove the problem of the infinite resend
  487.            client.
  488.         5) Fixed a small bug in logging where it would add one newline
  489.            for every 1k uploaded to the logfile.
  490.  
  491. Version 2.6.6.4 -- Apr 13, 1993
  492.         1) Fixed yet another small bug with readme files that I'd
  493.            created.
  494.         2) Encased all printing of strings recieved from a remote
  495.            site inside some sanity to prevent them sending a %s or
  496.            something as part of a string and having it choke.
  497.         3) A core dump in the logging code where there was a case
  498.            under which it did not return after an error is fixed.
  499.  
  500. Version 2.6.6.5 -- Apr 19, 1993
  501.                 1) Fixed a bug in the .IPHOST code.  (Thanks Laurent and Phil)
  502.                 2) Fixed a few typos and compile problems with the merged
  503.                    client.  (Thanks to the numerous people who reported it)
  504.                 3) Changed the code for fducmd slightly (Thanks Michael Meskes)                   (NOTE: Michael has also written an ffindcmd that will be in
  505.                    the next release, it's not included here)
  506.  
  507. Version 2.7.0 -- May 3, 1993
  508.         1) reorganized source code completely.
  509.         2) Installed the source code under Gnu autoconf
  510.         3) Added ffind client submitted by Michael Meskes.
  511.         4) Rewrote portions of the documentation.
  512.         5) Moved all configuration out of the Makefile and
  513.            into header files and an fspd.conf file
  514.         6) Added -r recursive option to fgetcmd and fcatcmd
  515.            (thanks to Michael Meskes).  Read man pages for details.
  516.  
  517. Version 2.7.1 -- May 7, 1993
  518.         1) Ironed out portability problems.
  519.         2) Fixed the pointer to in cast in server/filecache.c (thanks
  520.            to wen-king)
  521.         3) Added WenKing's patches for the Dec Alpha
  522.         4) Merged in Sven's patches for fixing 2.7.0 on a VMS system.
  523.         5) Added aclocal.m4 with some macros to start cleaning up the
  524.            configure.in file a bit.  Some macros needed changing to
  525.            get the configure script to configure properly on a linux.
  526.         6) Fixed a bug in server_upload where a file could not be
  527.            uploaded unless the server had a valid cache dir set.
  528.            Thus, any sites that didn't use cache dirs couldn't have
  529.            files uploaded.
  530.  
  531. Version 2.7.1 AMIGA -- March 25, 1994
  532.         1) Started with (re-)configuring the tweak.h file to suit SAS/C 6.2
  533.         2) Disabled various not-amiga-supported functions. (fork, setuid)
  534.         3) Added needed include-files.
  535.  
  536.                        March 29, 1994
  537.         4) Rewrote signal handlers. (^C breaks program, ^F dumps .HTAB)
  538.         5) Fixed up server/build_dir_file to deal with amiga pecularities.
  539.         6) server/checkpath now returns a (more) valid amiga-path. To make
  540.            this fool-proof will need more reworking.
  541.         7) Inetd-mode supported. Doesn't time-out though
  542.  
  543.                        March 30, 1994
  544.         8) Programs sets it's name correctly when running in inetd-mode.
  545.            (when inetd doesn't)
  546.         9) Checkpath now disallows client-requested paths with ':' in them.
  547.  
  548.                        May 15, 1994
  549.         9) Timeout under inetd works.
  550.  
  551.                        May 20, 1994
  552.        10) Get a usable version together, and upload it to aminet. :)
  553.  
  554.                        Near future
  555.         -- Grabfile doesn't seem to work, could be the clients fault.
  556.         -- Get round the softlink problem.
  557.         -- Handle homedir ending in ':' correctly. (or did I do that already?)
  558.  
  559.  
  560. What needs to be done EVENTUALLY
  561.  
  562.     Somebody should make a tar equivalent that read and write remote fsp
  563.     archives.  This will allow transfer of whole directory in one command.
  564.  
  565.     Sources should be make to pass lint with as little problem as possible.
  566.